home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / cross / GBDK-2.0.lha / GBDK / lib / scroll_s.s < prev    next >
Text File  |  1998-10-01  |  468b  |  36 lines

  1.     .include    "global.s"
  2.  
  3.     .area    _CODE
  4.  
  5.     ;; Move sprite number C at XY = DE
  6. .scroll_sprite::
  7.     LD    HL,#.OAM    ; Calculate origin of sprite info
  8.     SLA    C        ; Multiply C by 4
  9.     SLA    C
  10.     LD    B,#0x00
  11.     ADD    HL,BC
  12.  
  13.     LD    A,(HL)
  14.     ADD    E        ; Set Y
  15.     LD    (HL+),A
  16.  
  17.     LD    A,(HL)
  18.     ADD    D        ; Set X
  19.     LD    (HL+),A
  20.     RET
  21.  
  22. _scroll_sprite::
  23.     PUSH    BC
  24.  
  25.     LDA    HL,4(SP)    ; Skip return address and registers
  26.     LD    C,(HL)        ; C = nb
  27.     INC    HL
  28.     LD    D,(HL)        ; D = x
  29.     INC    HL
  30.     LD    E,(HL)        ; E = y
  31.  
  32.     CALL    .scroll_sprite
  33.  
  34.     POP    BC
  35.     RET
  36.